home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue46 / Clinic / AutomationClient2MainFormU.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1999-03-12  |  1.4 KB  |  70 lines

  1. unit AutomationClient2MainFormU;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls, ExtCtrls;
  8.  
  9. type
  10.   TFrmClient1 = class(TForm)
  11.     Timer1: TTimer;
  12.     Label1: TLabel;
  13.     btnToggleVisible: TButton;
  14.     btnQuitServer: TButton;
  15.     procedure FormCreate(Sender: TObject);
  16.     procedure Timer1Timer(Sender: TObject);
  17.     procedure btnToggleVisibleClick(Sender: TObject);
  18.     procedure btnQuitServerClick(Sender: TObject);
  19.   private
  20.     Server: Variant;
  21.   end;
  22.  
  23. var
  24.   FrmClient1: TFrmClient1;
  25.  
  26. implementation
  27.  
  28. uses
  29.   ComObj;
  30.  
  31. {$R *.DFM}
  32.  
  33. procedure TFrmClient1.FormCreate(Sender: TObject);
  34. begin
  35.   try
  36.     Server := GetActiveOleObject('AutomationServer2.Clock');
  37.   except
  38.     on EOleSysError do
  39.       Server := CreateOleObject('AutomationServer2.Clock')
  40.   end;
  41.   Timer1.Enabled := True
  42. end;
  43.  
  44. procedure TFrmClient1.Timer1Timer(Sender: TObject);
  45. begin
  46.   try
  47.     Label1.Caption := DateTimeToStr(Server.DateAndTime)
  48.   except
  49.     on E: Exception do
  50.     begin
  51.       Label1.Caption := Format('%s: %s', [E.ClassName, E.Message]);
  52.       TTimer(Sender).Enabled := False;
  53.       btnToggleVisible.Enabled := False;
  54.       btnQuitServer.Enabled := False
  55.     end
  56.   end
  57. end;
  58.  
  59. procedure TFrmClient1.btnToggleVisibleClick(Sender: TObject);
  60. begin
  61.   Server.Visible := not Server.Visible
  62. end;
  63.  
  64. procedure TFrmClient1.btnQuitServerClick(Sender: TObject);
  65. begin
  66.   Server.Quit
  67. end;
  68.  
  69. end.
  70.